package org.sergiy.forecast;

import java.util.List;

import javax.ejb.EJB;
import javax.ejb.Local;
import javax.ejb.Stateless;

/**
 * Weather service facade to external BOM weather forecast service
 * 
 * @author Sergiy Litsenko
 *
 */
@Local
public interface WeatherService {
	/**
	 * Get forecast for location: suburb, city, state
	 * 
	 * @param location the suburb, city, state (NSW, ACT)
	 * @return forecast for location: suburb, city, state
	 * @throws WeatherServiceException
	 */
	Forecast getForecast (String location) throws WeatherServiceException;

	/**
	 * Get weekly forecast for location: suburb, city, state
	 * 
	 * @param location the suburb, city, state (NSW, ACT)
	 * @return ordered collection of forecasts starting from today, tomorrow, ...  
	 * @throws WeatherServiceException
	 */
	List<Forecast> getWeeklyForecast (String location) throws WeatherServiceException;
}
